package com.ruoyi.system.service;

import com.ruoyi.system.api.model.UserShop;
import com.ruoyi.system.domain.BaseShop;
import com.ruoyi.system.domain.dto.ShopDto;
import com.ruoyi.system.domain.vo.ShopVo;

import java.util.List;
import java.util.Set;

/**
 * 【请填写功能名称】Service接口
 *
 * @author ruoyi
 * @date 2022-09-29
 */
public interface IBaseShopService
{
    /**
     * 查询【请填写功能名称】
     *
     * @param shopId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public BaseShop selectBaseShopByShopId(Long shopId);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param baseShop 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<BaseShop> selectBaseShopList(BaseShop baseShop);
    /**
     * 查询【请填写功能名称】列表
     *
     * @param baseShop 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<ShopVo> selectShopList(ShopDto baseShop);
    /**
     * 新增【请填写功能名称】
     *
     * @param baseShop 【请填写功能名称】
     * @return 结果
     */
    public int insertBaseShop(ShopDto baseShop);

    /**
     * 修改【请填写功能名称】
     *
     * @param baseShop 【请填写功能名称】
     * @return 结果
     */
    public int updateBaseShop(BaseShop baseShop);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param shopIds 需要删除的【请填写功能名称】主键集合
     * @return 结果
     */
    public int deleteBaseShopByShopIds(Long[] shopIds);

    /**
     * 删除【请填写功能名称】信息
     *
     * @param shopId 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteBaseShopByShopId(Long shopId);

    /**
     * 获取所有的Shop Code
     *
     * @return 结果
     */
    public Set<String> selectAllShopCodes();


    /**
     * 获取Shop信息
     *
     * @param userId 用户Id
     * @return 【ShopVo】集合
     */
    public List<ShopVo> selectShopListByUserId(Long userId);

    /**
     * 获取所有店铺列表
     *
     * @return 【请填写功能名称】集合
     */
    public List<ShopVo> selectAllShopList();

    /**
     * 获取所有的Shop
     *
     * @return 结果
     */
    public Set<UserShop> selectAllShops();

    /**
     * 获取用户分院信息
     *
     * @param userId 【请填写功能名称】主键
     * @return 结果
     */
    public Set<UserShop> getUserShopsByUserId(Long userId);

    /**
     *用shopcode 获取商户信息
     * @param shopCode
     * @return
     */
    public UserShop getUserShopsByShopCode(String shopCode);
}
